/*
 * LoginFrame.java
 *
 * Created on Jan 10, 2012, 3:12:08 PM
 */
package kernel_gui.gui.generic.graphic;

/*
 * LoginFrame.java
 *
 * Created on Jan 10, 2012, 3:12:08 PM
 */

import java.awt.AWTError;
import java.awt.Dimension;
import java.awt.Point;
import java.awt.Rectangle;
import java.awt.Toolkit;

import kernel_gui.gui.generic.BackGroundPanel;
import kernel_gui.gui.generic.MillionaireFrame;

/**
 *
 * @author Yoyo
 */
@SuppressWarnings("serial")
public abstract class PlayGameFrame extends MillionaireFrame {

    /** Creates new form LoginFrame */
    public PlayGameFrame(boolean isAdmin) {
    	super(true);
    	initComponents();
    }

    
    private void initComponents() {

        AnswerButtonGroup = new javax.swing.ButtonGroup();
        LayeredPane = new javax.swing.JLayeredPane();
        LoadingPanel = new javax.swing.JPanel();
        SpinningDollarLabel = new javax.swing.JLabel();
        TopMessageLabel = new javax.swing.JLabel();
        TopMessageLabel1 = new javax.swing.JLabel();
        MainPanel = new javax.swing.JPanel();
        WheelPanel = new javax.swing.JPanel();
        WheelHeaderLabel = new javax.swing.JLabel();
        ExtraTimeWheelLabel = new javax.swing.JLabel();
        FiftyFiftyWheelLabel = new javax.swing.JLabel();
        ReplaceQuestionLabel = new javax.swing.JLabel();
        QuestionsPanel = new javax.swing.JPanel();
        NextQButton = new javax.swing.JButton();
        QuestionHeaderLabel = new javax.swing.JLabel();
        QuestionLabel = new javax.swing.JLabel();
        Ans1RadioButton = new javax.swing.JRadioButton();
        Ans2RadioButton = new javax.swing.JRadioButton();
        Ans3RadioButton = new javax.swing.JRadioButton();
        Ans4RadioButton = new javax.swing.JRadioButton();
        LeaveGameButton = new javax.swing.JButton();
        AdminAnswerButton = new javax.swing.JButton();
        StatPanel1 = new javax.swing.JPanel();
        TimeLeftHeaderLabel = new javax.swing.JLabel();
        TimeLabel = new javax.swing.JLabel();
        StatPanel2 = new javax.swing.JPanel();
        CurrentQHeaderLabel = new javax.swing.JLabel();
        StageHeaderLabel = new javax.swing.JLabel();
        CurrentQLabel = new javax.swing.JLabel();
        StageLabel = new javax.swing.JLabel();

        /* My init code */
        int frameWidth = 906;
        int frameHeight = 507;
        this.setBounds(new Rectangle(new Dimension(frameWidth, frameHeight)));
        this.setIconImage(new javax.swing.ImageIcon("images/Green-Dollar-icon.png").getImage());
        	this.setTitle("Who Want's To Be A Millionaire?");
        LayeredPane.setOpaque(false);
        LoadingPanel.setVisible(false);
        LoadingPanel.setOpaque(false);
        setResizable(false);
        try{
        	Toolkit tk = Toolkit.getDefaultToolkit();
        	int framePosWidth = tk.getScreenSize().width / 2 - frameWidth / 2;
        	int framePosHeight = tk.getScreenSize().height / 2 - frameHeight / 2;
        	Point p = new Point(framePosWidth, framePosHeight);
        	this.setLocation(p);
        }catch(AWTError e){
        	/*Nothing to do*/
        }
        BGPanel = new BackGroundPanel(frameWidth, frameHeight);
        MainPanel = new BackGroundPanel(frameWidth, frameHeight);
        SpinningDollarLabel.setIcon(new javax.swing.ImageIcon(
        		"images/dollar-spinning.gif")); // NOI18N
        /* end */

        BGPanel.setPreferredSize(new java.awt.Dimension(630, 463));

        LayeredPane.setOpaque(true);
        LayeredPane.setPreferredSize(new java.awt.Dimension(630, 463));

        LoadingPanel.setOpaque(false);
        LoadingPanel.setPreferredSize(new java.awt.Dimension(620, 463));

        SpinningDollarLabel.setIcon(new javax.swing.ImageIcon("images/dollar-spinning.gif")); // NOI18N

        TopMessageLabel.setBackground(new java.awt.Color(51, 102, 0));
        TopMessageLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        TopMessageLabel.setForeground(new java.awt.Color(51, 204, 0));
        TopMessageLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        TopMessageLabel.setText("Loading");
        TopMessageLabel.setOpaque(true);

        TopMessageLabel1.setBackground(new java.awt.Color(51, 102, 0));
        TopMessageLabel1.setFont(new java.awt.Font("Tahoma", 1, 14));
        TopMessageLabel1.setForeground(new java.awt.Color(51, 204, 0));
        TopMessageLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        TopMessageLabel1.setText("Please wait");
        TopMessageLabel1.setOpaque(true);

        javax.swing.GroupLayout LoadingPanelLayout = new javax.swing.GroupLayout(LoadingPanel);
        LoadingPanel.setLayout(LoadingPanelLayout);
        LoadingPanelLayout.setHorizontalGroup(
            LoadingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(LoadingPanelLayout.createSequentialGroup()
                .addGap(395, 395, 395)
                .addGroup(LoadingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(SpinningDollarLabel)
                    .addGroup(LoadingPanelLayout.createSequentialGroup()
                        .addGap(25, 25, 25)
                        .addComponent(TopMessageLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addGap(20, 20, 20))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, LoadingPanelLayout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 15, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(TopMessageLabel1)
                        .addGap(9, 9, 9)))
                .addGap(405, 405, 405))
        );
        LoadingPanelLayout.setVerticalGroup(
            LoadingPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, LoadingPanelLayout.createSequentialGroup()
                .addContainerGap(189, Short.MAX_VALUE)
                .addComponent(SpinningDollarLabel)
                .addGap(18, 18, 18)
                .addComponent(TopMessageLabel)
                .addGap(18, 18, 18)
                .addComponent(TopMessageLabel1)
                .addGap(169, 169, 169))
        );

        LoadingPanel.setBounds(0, 0, 900, 500);
        LayeredPane.add(LoadingPanel, javax.swing.JLayeredPane.DEFAULT_LAYER);

        MainPanel.setMinimumSize(new java.awt.Dimension(620, 463));
        MainPanel.setOpaque(false);
        MainPanel.setPreferredSize(new java.awt.Dimension(620, 463));

        WheelPanel.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
        WheelPanel.setOpaque(false);

        WheelHeaderLabel.setFont(new java.awt.Font("Tahoma", 1, 24)); // NOI18N
        WheelHeaderLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        WheelHeaderLabel.setText("<html><p align=\"center\">Help<br>Wheels</p></html>");

        ExtraTimeWheelLabel.setIcon(new javax.swing.ImageIcon("images/extra_time.png")); // NOI18N
        ExtraTimeWheelLabel.setToolTipText("Extra Time Wheel");
        ExtraTimeWheelLabel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                ExtraTimeWheelLabelMouseClicked(evt);
            }
        });

        FiftyFiftyWheelLabel.setIcon(new javax.swing.ImageIcon("images/fifty_fifty.png")); // NOI18N
        FiftyFiftyWheelLabel.setToolTipText("Fifty/Fifty Wheel");
        FiftyFiftyWheelLabel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                FiftyFiftyWheelLabelMouseClicked(evt);
            }
        });

        ReplaceQuestionLabel.setIcon(new javax.swing.ImageIcon("images/replace_question.png")); // NOI18N
        ReplaceQuestionLabel.setToolTipText("Replace Question Wheel");
        ReplaceQuestionLabel.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseClicked(java.awt.event.MouseEvent evt) {
                ReplaceQuestionLabelMouseClicked(evt);
            }
        });

        javax.swing.GroupLayout WheelPanelLayout = new javax.swing.GroupLayout(WheelPanel);
        WheelPanel.setLayout(WheelPanelLayout);
        WheelPanelLayout.setHorizontalGroup(
            WheelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, WheelPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(WheelHeaderLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 103, Short.MAX_VALUE)
                .addGap(18, 18, 18)
                .addComponent(ExtraTimeWheelLabel)
                .addGap(18, 18, 18)
                .addComponent(FiftyFiftyWheelLabel)
                .addGap(18, 18, 18)
                .addComponent(ReplaceQuestionLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 57, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );
        WheelPanelLayout.setVerticalGroup(
            WheelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(WheelPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(WheelPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(ReplaceQuestionLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE)
                    .addComponent(FiftyFiftyWheelLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(ExtraTimeWheelLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(WheelHeaderLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        QuestionsPanel.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 3, true));
        QuestionsPanel.setOpaque(false);

        NextQButton.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        NextQButton.setText("Submit");
        NextQButton.setToolTipText("Pressing here will submit you answer!");
        NextQButton.setEnabled(false);
        NextQButton.setOpaque(false);
        NextQButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                NextQButtonActionPerformed(evt);
            }
        });

        QuestionHeaderLabel.setFont(new java.awt.Font("Tahoma", 1, 16)); // NOI18N
        QuestionHeaderLabel.setText("For 1,000,000$,");

        QuestionLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        QuestionLabel.setText("<html>1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234<br>1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234<br>1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234<br>1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234<br>1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234<br></html>");

        AnswerButtonGroup.add(Ans1RadioButton);
        Ans1RadioButton.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        Ans1RadioButton.setText("<html>12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012</html>");
        Ans1RadioButton.setOpaque(false);
        Ans1RadioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Ans1RadioButtonActionPerformed(evt);
            }
        });

        AnswerButtonGroup.add(Ans2RadioButton);
        Ans2RadioButton.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        Ans2RadioButton.setText("<html>12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012</html>");
        Ans2RadioButton.setOpaque(false);
        Ans2RadioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Ans2RadioButtonActionPerformed(evt);
            }
        });

        AnswerButtonGroup.add(Ans3RadioButton);
        Ans3RadioButton.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        Ans3RadioButton.setText("<html>12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012</html>");
        Ans3RadioButton.setOpaque(false);
        Ans3RadioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Ans3RadioButtonActionPerformed(evt);
            }
        });

        AnswerButtonGroup.add(Ans4RadioButton);
        Ans4RadioButton.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        Ans4RadioButton.setText("<html>12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012</html>");
        Ans4RadioButton.setOpaque(false);
        Ans4RadioButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                Ans4RadioButtonActionPerformed(evt);
            }
        });

        LeaveGameButton.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        LeaveGameButton.setText("Leave Game");
        LeaveGameButton.setToolTipText("Leave the game with the money that you have");
        LeaveGameButton.setOpaque(false);
        LeaveGameButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                LeaveGameButtonActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout QuestionsPanelLayout = new javax.swing.GroupLayout(QuestionsPanel);
        QuestionsPanel.setLayout(QuestionsPanelLayout);
        QuestionsPanelLayout.setHorizontalGroup(
            QuestionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(QuestionsPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(QuestionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(QuestionsPanelLayout.createSequentialGroup()
                        .addComponent(QuestionHeaderLabel)
                        .addContainerGap(742, Short.MAX_VALUE))
                    .addGroup(QuestionsPanelLayout.createSequentialGroup()
                        .addComponent(QuestionLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap())
                    .addGroup(QuestionsPanelLayout.createSequentialGroup()
                        .addGroup(QuestionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(Ans1RadioButton, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(Ans2RadioButton, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(Ans3RadioButton, javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(Ans4RadioButton, javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(QuestionsPanelLayout.createSequentialGroup()
                                .addComponent(NextQButton, javax.swing.GroupLayout.DEFAULT_SIZE, 728, Short.MAX_VALUE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(LeaveGameButton)))
                        .addGap(15, 15, 15))))
        );
        QuestionsPanelLayout.setVerticalGroup(
            QuestionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(QuestionsPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(QuestionHeaderLabel)
                .addGap(18, 18, 18)
                .addComponent(QuestionLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(Ans1RadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(Ans2RadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(Ans3RadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(Ans4RadioButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(32, 32, 32)
                .addGroup(QuestionsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(LeaveGameButton, javax.swing.GroupLayout.DEFAULT_SIZE, 55, Short.MAX_VALUE)
                    .addComponent(NextQButton, javax.swing.GroupLayout.PREFERRED_SIZE, 55, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addContainerGap())
        );

        AdminAnswerButton.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        AdminAnswerButton.setText("Get Answer");
        AdminAnswerButton.setToolTipText("Admins can get the answers...");
        AdminAnswerButton.setOpaque(false);
        AdminAnswerButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                AdminAnswerButtonActionPerformed(evt);
            }
        });

        StatPanel1.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
        StatPanel1.setOpaque(false);

        TimeLeftHeaderLabel.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
        TimeLeftHeaderLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        TimeLeftHeaderLabel.setText("Time Left:");

        TimeLabel.setFont(new java.awt.Font("Tahoma", 1, 36)); // NOI18N
        TimeLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        TimeLabel.setText("00");

        javax.swing.GroupLayout StatPanel1Layout = new javax.swing.GroupLayout(StatPanel1);
        StatPanel1.setLayout(StatPanel1Layout);
        StatPanel1Layout.setHorizontalGroup(
            StatPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(StatPanel1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(TimeLeftHeaderLabel)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(TimeLabel)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        StatPanel1Layout.setVerticalGroup(
            StatPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(StatPanel1Layout.createSequentialGroup()
                .addGap(19, 19, 19)
                .addGroup(StatPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(TimeLeftHeaderLabel)
                    .addComponent(TimeLabel))
                .addContainerGap(19, Short.MAX_VALUE))
        );

        StatPanel2.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0), 1, true));
        StatPanel2.setOpaque(false);

        CurrentQHeaderLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        CurrentQHeaderLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        CurrentQHeaderLabel.setText("Current Question Number:");

        StageHeaderLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        StageHeaderLabel.setHorizontalAlignment(javax.swing.SwingConstants.LEFT);
        StageHeaderLabel.setText("<html>If you will answer<br>wrong you will win:<html>");

        CurrentQLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        CurrentQLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        CurrentQLabel.setText("00");

        StageLabel.setFont(new java.awt.Font("Tahoma", 1, 14)); // NOI18N
        StageLabel.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        StageLabel.setText("00");

        javax.swing.GroupLayout StatPanel2Layout = new javax.swing.GroupLayout(StatPanel2);
        StatPanel2.setLayout(StatPanel2Layout);
        StatPanel2Layout.setHorizontalGroup(
            StatPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(StatPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(StatPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(StatPanel2Layout.createSequentialGroup()
                        .addComponent(CurrentQHeaderLabel)
                        .addGap(18, 18, 18)
                        .addComponent(CurrentQLabel))
                    .addGroup(StatPanel2Layout.createSequentialGroup()
                        .addComponent(StageHeaderLabel)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .addComponent(StageLabel)))
                .addContainerGap())
        );
        StatPanel2Layout.setVerticalGroup(
            StatPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, StatPanel2Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(StatPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(CurrentQHeaderLabel)
                    .addComponent(CurrentQLabel))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED, 26, Short.MAX_VALUE)
                .addGroup(StatPanel2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(StageLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(StageHeaderLabel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addContainerGap())
        );

        javax.swing.GroupLayout MainPanelLayout = new javax.swing.GroupLayout(MainPanel);
        MainPanel.setLayout(MainPanelLayout);
        MainPanelLayout.setHorizontalGroup(
            MainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(MainPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(MainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                    .addComponent(AdminAnswerButton, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(QuestionsPanel, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addGroup(MainPanelLayout.createSequentialGroup()
                        .addComponent(StatPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(14, 14, 14)
                        .addComponent(StatPanel2, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(WheelPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                .addContainerGap(16, Short.MAX_VALUE))
        );
        MainPanelLayout.setVerticalGroup(
            MainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(MainPanelLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(MainPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(WheelPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(StatPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(StatPanel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(QuestionsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(AdminAnswerButton)
                .addGap(93, 93, 93))
        );

        MainPanel.setBounds(0, 0, 910, 510);
        LayeredPane.add(MainPanel, javax.swing.JLayeredPane.DEFAULT_LAYER);

        javax.swing.GroupLayout BGPanelLayout = new javax.swing.GroupLayout(BGPanel);
        BGPanel.setLayout(BGPanelLayout);
        BGPanelLayout.setHorizontalGroup(
            BGPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 906, Short.MAX_VALUE)
            .addGroup(BGPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(LayeredPane, javax.swing.GroupLayout.DEFAULT_SIZE, 906, Short.MAX_VALUE))
        );
        BGPanelLayout.setVerticalGroup(
            BGPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 507, Short.MAX_VALUE)
            .addGroup(BGPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addComponent(LayeredPane, javax.swing.GroupLayout.DEFAULT_SIZE, 507, Short.MAX_VALUE))
        );

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(BGPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 906, javax.swing.GroupLayout.PREFERRED_SIZE)
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(BGPanel, javax.swing.GroupLayout.PREFERRED_SIZE, 507, javax.swing.GroupLayout.PREFERRED_SIZE)
        );

        pack();
    }// </editor-fold>

    protected abstract void NextQButtonActionPerformed(java.awt.event.ActionEvent evt);                                          

    protected abstract void LeaveGameButtonActionPerformed(java.awt.event.ActionEvent evt);
    
    protected abstract void Ans1RadioButtonActionPerformed(java.awt.event.ActionEvent evt);                                             

    protected abstract void Ans2RadioButtonActionPerformed(java.awt.event.ActionEvent evt);                                           

    protected abstract void Ans3RadioButtonActionPerformed(java.awt.event.ActionEvent evt);                                             

    protected abstract void Ans4RadioButtonActionPerformed(java.awt.event.ActionEvent evt);                                          

    protected abstract void AdminAnswerButtonActionPerformed(java.awt.event.ActionEvent evt);                                              

    protected abstract void ExtraTimeWheelLabelMouseClicked(java.awt.event.MouseEvent evt);                                             

    protected abstract void FiftyFiftyWheelLabelMouseClicked(java.awt.event.MouseEvent evt);                                            

    protected abstract void ReplaceQuestionLabelMouseClicked(java.awt.event.MouseEvent evt);                                           

    // Variables declaration - do not modify
    protected javax.swing.JButton AdminAnswerButton;
    protected javax.swing.JRadioButton Ans1RadioButton;
    protected javax.swing.JRadioButton Ans2RadioButton;
    protected javax.swing.JRadioButton Ans3RadioButton;
    protected javax.swing.JRadioButton Ans4RadioButton;
    protected javax.swing.ButtonGroup AnswerButtonGroup;
    protected javax.swing.JPanel BGPanel;
    protected javax.swing.JLabel CurrentQHeaderLabel;
    protected javax.swing.JLabel CurrentQLabel;
    protected javax.swing.JLabel ExtraTimeWheelLabel;
    protected javax.swing.JLabel FiftyFiftyWheelLabel;
    protected javax.swing.JLayeredPane LayeredPane;
    protected javax.swing.JButton LeaveGameButton;
    protected javax.swing.JButton NextQButton;
    protected javax.swing.JLabel QuestionHeaderLabel;
    protected javax.swing.JLabel QuestionLabel;
    protected javax.swing.JPanel QuestionsPanel;
    protected javax.swing.JLabel ReplaceQuestionLabel;
    protected javax.swing.JLabel SpinningDollarLabel;
    protected javax.swing.JLabel StageHeaderLabel;
    protected javax.swing.JLabel StageLabel;
    protected javax.swing.JPanel StatPanel1;
    protected javax.swing.JPanel StatPanel2;
    protected javax.swing.JLabel TimeLabel;
    protected javax.swing.JLabel TimeLeftHeaderLabel;
    protected javax.swing.JLabel TopMessageLabel;
    protected javax.swing.JLabel TopMessageLabel1;
    protected javax.swing.JLabel WheelHeaderLabel;
    protected javax.swing.JPanel WheelPanel;
    // End of variables declaration
}
